package com.gzist.springailab05.rag;

import org.springframework.ai.chat.prompt.PromptTemplate;
import org.springframework.ai.rag.generation.augmentation.ContextualQueryAugmenter;


/**
 * ContextualQueryAugmenterFactory 用于创建和配置 空检索内容时的回复模板实例
 */
public class ContextualQueryAugmenterFactory {

    /**
     * 创建一个配置好的 ContextualQueryAugmenter 实例。
     * 该方法设置了一个空上下文时使用的提示模板，并禁止了空上下文的处理逻辑。
     *
     * @return 返回配置完成的 ContextualQueryAugmenter 实例
     */
    public static ContextualQueryAugmenter createInstance() {
        PromptTemplate emptyContextPromptTemplate = new PromptTemplate("""
                你应该输出下面的内容：
                抱歉，我只能回答知识库内的问题，别的没办法帮到您哦，
                """);
        return ContextualQueryAugmenter.builder()
                .allowEmptyContext(false)
                .emptyContextPromptTemplate(emptyContextPromptTemplate)
                .build();
    }
}
